package com.dd.cloud.user.entity.resource;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author Lx
 * @version 1.0
 * @date 2024/1/29
 */
@Data
@EqualsAndHashCode
@Accessors(chain = true)
@Table(comment = "广告信息表")
public class AdvertInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    @Column(isKey = true, isAutoIncrement = true)
    private Integer id;

    /**
     * 广告名称
     */
    @Column(comment = "广告名称")
    private String title;

    /**
     * 广告图片类型 1大图（全屏） 2小图（弹框）
     */
    @Column(comment = "广告图片 1大图（全屏） 2小图（弹框）")
    private Integer pictureType;

    /**
     * 广告图片
     */
    @Column(comment = "广告图片")
    private String picture;

    /**
     * 跳转链接
     */
    @Column(comment = "跳转链接")
    private String url;

    /**
     * 使用人群 1所有人群 2已认证人群 3未认证人群 4未登录
     */
    @Column(comment = "使用人群 1所有人群 2已认证人群 3未认证人群 4未登录")
    private Integer crowd;

    /**
     * 应用位置 1首页 2患者管理 3圈子 4书院 5个人中心
     */
    @Column(comment = "应用位置 1首页 2患者管理 3圈子 4书院 5个人中心")
    private Integer position;

    /**
     * 应用位置字符
     */
    @Column(comment = "应用位置字符")
    private String positionStr;

    /**
     * 投放开始时间
     */
    @Column(comment = "投放开始时间")
    private LocalDateTime start;

    /**
     * 投放结束时间
     */
    @Column(comment = "投放结束时间")
    private LocalDateTime end;

    /**
     * 投放间隔 1启动会 2登录后
     */
    @TableField(value = "`interval`")
    @Column(comment = "投放间隔 1启动会 2登录后")
    private Integer interval;

    /**
     * 投放频次 1一次 2每日一次 3每日多次
     */
    @Column(comment = "投放频次 1一次 2每日一次 3每日多次")
    private Integer frequency;

    /**
     * 关闭倒计时 1永久 2时长
     */
    @Column(comment = "关闭倒计时 1永久 2时长")
    private Integer countdown;

    /**
     * 时长 关闭倒计时选择2时有这个字段 单位秒
     */
    @Column(comment = "时长 关闭倒计时选择2时有这个字段 单位秒")
    private Integer time;

    /**
     * 状态 1上架 2下架 3已结束 4草稿 -1删除
     */
    @Column(comment = "状态 1上架 2下架 3已结束 4草稿 -1删除")
    private Integer status;

    /**
     * 创建时间
     */
    @Column(comment = "创建时间")
    private LocalDateTime createDate;

    /**
     * 最后一次操作人id
     */
    @Column(comment = "最后一次操作人id")
    private Integer lastId;

    /**
     * 最后一次操作人类型
     */
    @Column(comment = "最后一次操作人类型")
    private Integer lastType;

    /**
     * 修改时间
     */
    @Column(comment = "修改时间")
    private LocalDateTime updateDate;
}
